package com.ag.bean;

import java.util.HashSet;
import java.util.Set;
import javax.persistence.CascadeType;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;

/**
 * TbClassiccase entity.
 * 
 * @author MyEclipse Persistence Tools
 */
@Entity
@Table(name = "TB_CLASSICCASE", schema = "dbo", catalog = "AGDB")
public class TbClassiccase implements java.io.Serializable {

	// Fields

	private String ccId;
	private TbType tbType;
	private TbLevel tbLevel;
	private String ccName;
	private String ccDetail;
	private String ccFjName;
	private String ccFjRote;
	private String a;
	private String b;
	private String c;
	private Set<TbCasekw> tbCasekws = new HashSet<TbCasekw>(0);

	// Constructors

	/** default constructor */
	public TbClassiccase() {
	}

	/** minimal constructor */
	public TbClassiccase(String ccId, TbType tbType, TbLevel tbLevel,
			String ccName, String ccFjName, String ccFjRote) {
		this.ccId = ccId;
		this.tbType = tbType;
		this.tbLevel = tbLevel;
		this.ccName = ccName;
		this.ccFjName = ccFjName;
		this.ccFjRote = ccFjRote;
	}

	/** full constructor */
	public TbClassiccase(String ccId, TbType tbType, TbLevel tbLevel,
			String ccName, String ccDetail, String ccFjName, String ccFjRote,
			String a, String b, String c, Set<TbCasekw> tbCasekws) {
		this.ccId = ccId;
		this.tbType = tbType;
		this.tbLevel = tbLevel;
		this.ccName = ccName;
		this.ccDetail = ccDetail;
		this.ccFjName = ccFjName;
		this.ccFjRote = ccFjRote;
		this.a = a;
		this.b = b;
		this.c = c;
		this.tbCasekws = tbCasekws;
	}

	// Property accessors
	@Id
	@Column(name = "CC_ID", unique = true, nullable = false, length = 10)
	public String getCcId() {
		return this.ccId;
	}

	public void setCcId(String ccId) {
		this.ccId = ccId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "TPYE_ID", nullable = false)
	public TbType getTbType() {
		return this.tbType;
	}

	public void setTbType(TbType tbType) {
		this.tbType = tbType;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "LEVEL_ID", nullable = false)
	public TbLevel getTbLevel() {
		return this.tbLevel;
	}

	public void setTbLevel(TbLevel tbLevel) {
		this.tbLevel = tbLevel;
	}

	@Column(name = "CC_NAME", nullable = false, length = 200)
	public String getCcName() {
		return this.ccName;
	}

	public void setCcName(String ccName) {
		this.ccName = ccName;
	}

	@Column(name = "CC_DETAIL", length = 500)
	public String getCcDetail() {
		return this.ccDetail;
	}

	public void setCcDetail(String ccDetail) {
		this.ccDetail = ccDetail;
	}

	@Column(name = "CC_FJ_NAME", nullable = false, length = 50)
	public String getCcFjName() {
		return this.ccFjName;
	}

	public void setCcFjName(String ccFjName) {
		this.ccFjName = ccFjName;
	}

	@Column(name = "CC_FJ_ROTE", nullable = false, length = 256)
	public String getCcFjRote() {
		return this.ccFjRote;
	}

	public void setCcFjRote(String ccFjRote) {
		this.ccFjRote = ccFjRote;
	}

	@Column(name = "A", length = 50)
	public String getA() {
		return this.a;
	}

	public void setA(String a) {
		this.a = a;
	}

	@Column(name = "B", length = 50)
	public String getB() {
		return this.b;
	}

	public void setB(String b) {
		this.b = b;
	}

	@Column(name = "C", length = 50)
	public String getC() {
		return this.c;
	}

	public void setC(String c) {
		this.c = c;
	}

	@OneToMany(cascade = CascadeType.ALL, fetch = FetchType.LAZY, mappedBy = "tbClassiccase")
	public Set<TbCasekw> getTbCasekws() {
		return this.tbCasekws;
	}

	public void setTbCasekws(Set<TbCasekw> tbCasekws) {
		this.tbCasekws = tbCasekws;
	}

}